package com.ml.nio.channel;


import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;

/**
 * FileChannel案例1-向本地文件写数据。
 * 实例要求:
 * 1) 使用前面学习后的ByteBuffer(缓冲) 和 FileChannel(通道)， 将 "hello,尚硅谷" 写入 到file01.txt 中
 * 2) 文件不存在就创建
 *
 * @author xr-8
 * @date 2022-01-08
 * @time 22:15
 */
public class FileChannel01 {

    public static void main(String[] args) throws IOException {
        String context = "hello, 尚硅谷";
        //创建文件输出流和FileChannel
        FileOutputStream fileOutputStream = new FileOutputStream("G://file01.txt");
        FileChannel fileChannel = fileOutputStream.getChannel();
        //创建ByteBuffer,并将数据放到buffer中
        ByteBuffer byteBuffer = ByteBuffer.allocate(1024);
        byteBuffer.put(context.getBytes());
        //翻转，不能忘
        byteBuffer.flip();
        //将ByteBuffer中的数据写进channel中
        fileChannel.write(byteBuffer);
        //关闭流
        fileOutputStream.close();
    }

}
